Method and apparatus for presenting geographical location

ABSTRACT

Method and device of sharing location information in a social network application are disclosed. The method includes: a user device providing an instant messaging interface of a social network application at the user device; detecting, within the instant messaging interface, a trigger input associated with location information from a first user of the first user device; in response to the trigger input associated with location information, obtaining a map based on the trigger input; and sharing the map with a second user device through the social network application, enabling the second user device to display the map in a corresponding instant messaging interface of the social network application executed at the second user device.

CROSS REFERENCE OF RELATED APPLICATIONS

This application is a continuation of International Application No.PCT/CN2015/071443, filed on Jan. 23, 2015, which claims priority toChinese Patent Application No 201410173061.8, titled “METHOD ANDAPPARATUS FOR PRESENTING GEOGRAPHICAL LOCATION” filed on Apr. 25, 2014,which are incorporated by reference in their entireties.

TECHNICAL FIELD

The disclosed implementations relate generally to the field ofinformation processing, and in particular, to method and apparatus forpresenting geographical locations.

BACKGROUND

Frequently, users of social network applications discuss about addressesand locations in their conversations and interactions. Users who do notknow the locations or corresponding directions extremely well need toclose the social network applications and check the locations in maps ormap applications. When users discuss them, they often must find theaddresses for the locations they refer to and type the location ordescribe the location to the other users, as shown in FIG. 1. Theprocess is burdensome and frustrates natural communication among users.Therefore, it is desirable to have a method with which users of socialnetwork applications can conveniently and intuitively communicatelocation information.

SUMMARY

In accordance with some implementations of the disclosed technology, amethod of sharing location information in a social network applicationis disclosed. The method comprises: a first user device (e.g., clientdevice 604, FIGS. 6 and 8-10) providing an instant messaging interfaceof a social network application at the first user device; detecting,within the instant messaging interface, a trigger input associated withlocation information from a first user of the first user device; inresponse to the trigger input associated with location information,obtaining a map based on the trigger input; and sharing the map with asecond user device through the social network application, enabling thesecond user device to display the map in a corresponding instantmessaging interface of the social network application executed at thesecond user device.

In some embodiments, a user device (e.g., client device 604, FIGS. 6 and8-10), includes one or more processors, and memory storing one or moreprograms for execution by the one or more processors, the one or moreprograms include instructions for performing the operations of any ofthe methods described herein.

In some embodiments, a non-transitory computer readable storage mediumstoring one or more programs, the one or more programs comprisinginstructions, which, when executed by a user device (e.g., client device604, FIGS. 6 and 8-10), cause the user device to perform the operationsof any of the methods described herein. In some embodiments, a userdevice (e.g., client device 604, FIGS. 6 and 8-10) includes means forperforming, or controlling performance of, the operations of any of themethods described herein.

Various advantages of the present application are apparent in light ofthe descriptions below.

BRIEF DESCRIPTION OF DRAWINGS

The aforementioned implementation of the application as well asadditional implementations will be more clearly understood as a resultof the following detailed description of the various aspects of thetechnology when taken in conjunction with the drawings. Like referencenumerals refer to corresponding parts throughout the several views ofthe drawings.

FIG. 1 is a schematic diagram of conventional geographical locationpresentation in a social network application.

FIG. 2 is a flow chart of a method for presenting a geographicallocation in accordance with some embodiments.

FIG. 3 is a flow chart of a method for presenting a geographicallocation in accordance with some embodiments.

FIG. 4 is a flow chart of a method for sharing location information in asocial network application in accordance with some embodiments.

FIG. 5A is a schematic diagram of a preset presentation box inaccordance with some embodiments.

FIG. 5B is a schematic diagram of map area screenshot in accordance withsome embodiments.

FIG. 5C is a schematic diagram of map area screenshot in accordance withsome embodiments.

FIG. 5D is a schematic diagram of map area screenshot in accordance withsome embodiments.

FIG. 5E is a schematic diagram of geographical location presentation inaccordance with some embodiments.

FIG. 5F is a schematic diagram of a user interface for sharing locationinformation in accordance with some embodiments.

FIG. 5G is a schematic diagram of a user interface for sharing locationinformation in accordance with some embodiments.

FIG. 5H is a schematic diagram of a user interface for sharing locationinformation in accordance with some embodiments.

FIG. 5I is a schematic diagram of a user interface for sharing locationinformation in accordance with some embodiments.

FIG. 5J is a schematic diagram of a user interface for sharing locationinformation in accordance with some embodiments.

FIG. 5K is a schematic diagram of a user interface for sharing locationinformation in accordance with some embodiments.

FIG. 5L is a schematic diagram of a user interface for sharing locationinformation in accordance with some embodiments.

FIG. 5M is a schematic diagram of a user interface for sharing locationinformation in accordance with some embodiments.

FIG. 6 is a block diagram of a server-client environment in accordancewith some embodiments.

FIG. 7 is a block diagram of a server system in accordance with someembodiments.

FIG. 8 is a block diagram of a client device in accordance with someembodiments.

FIG. 9 is a block diagram of a client device in accordance with someembodiments.

FIG. 10 is a block diagram of a client device in accordance with someembodiments.

DETAILED DESCRIPTION

In order to make the objects, technical scheme and advantages of thepresent application more clear, embodiments of the present applicationwill be described in further detail with reference to the accompanyingdrawings.

Before giving a detailed explanation of the embodiments of the presentapplication, explanation will first be made to typical applicationscenarios of the present application.

In accordance with some embodiments, the client device receives metadatainformation (e.g., data related to location information) sent by otherclient devices and presents a map area including other users'geographical locations on a communication presenting interface (i.e.,chat window interface) according to the metadata information of otherclient devices. When chatting or browsing a chat log later, the user maypreview on the communication presenting interface the presentationeffect of a geographical location to be presented on the map withouthaving to click into a map page.

In accordance with some embodiments, when publishing personalinformation on a personal information display platform, the user mayalso present the map area including the user's geographical locationaccording to the metadata information of the client device so as toallow friends of the user to know conveniently the location of the userwhen viewing the information. For example, if the user publishes apicture on the personal information display platform, then a map areaincluding the geographical location of the user is presented in the formof a small picture below the picture.

FIG. 2 is a flow chart of a method for presenting a geographicallocation in accordance with some embodiments. The method comprises thefollowing steps.

S201: acquiring metadata information of a geographical location to bepresented, the metadata information including at least longitude andlatitude data of the geographical location.

S202: acquiring the map area including the geographical locationaccording to the longitude and latitude data and a preset presentationgranularity.

S203: presenting the map area including the geographical location.

In accordance with some embodiments, acquiring the metadata informationof the geographical location comprises: receiving the metadatainformation of the geographical location sent by other terminals; oracquiring the metadata information of the current geographical locationof the terminal and taking the metadata information as that of thegeographical location.

In accordance with some embodiments, acquiring the map area includingthe geographical location according to the longitude and latitude dataand the preset presentation granularity comprises: acquiring a mapcorresponding to the presentation granularity; determining the displaylocation of the geographical location in the acquired map according tothe longitude and latitude data; and taking the display location as acenter and taking a screenshot of the map according to the size of thepreset presentation box to obtain the map area including thegeographical location.

In accordance with some embodiments, presenting the map area includingthe geographical location comprises: presenting the map area includingthe geographical location in the preset presentation box on apresentation interface. In some embodiments, the map area includes adisplay mark, address information in text and geographical landmarks ofsurroundings of the geographical location.

In accordance with some embodiments, before acquiring the map areaincluding the geographical location according to the longitude andlatitude data and the preset presentation granularity, the client devicecreates a map control loading thread to load a map control.

In accordance with some embodiments, acquiring the map area comprises:loading the map through the map control; and acquiring the map areaincluding the geographical location from the loaded map through the mapcontrol according to the presentation granularity and the longitude andlatitude data.

FIG. 3 is a flow chart of a method for presenting a geographicallocation in accordance with some embodiments. The method, which isexecuted by a first terminal (e.g., client device 604, FIGS. 6 and 8-10)comprises the following steps.

In accordance with some embodiments, in a step S301, the first terminalacquires the metadata information of a geographical location to bepresented, the metadata information at least including the longitude andlatitude data of the geographical location.

In some embodiments, the metadata information includes at least thelongitude and latitude data of the geographical location. In someembodiments, the metadata information may also include other data, forexample, the time at which the longitude and latitude data is acquiredand the like.

Furthermore, when acquiring the metadata information of the geographicallocation, the first terminal may specifically adopt the following twoways. In the first way, the first terminal receives the metadatainformation of the geographical location sent by a second terminal andtakes the metadata information as that of the geographical location. Asfor the first way, the second terminal refers to another terminal thatcommunicates with the first terminal.

In accordance with some embodiments, the first terminal may receive themetadata information sent by the second terminal and presents thegeographical location of the second terminal on the communicationpresenting interface of the first terminal according to the metadatainformation of the second terminal. In some embodiments, the metadatainformation of the geographical location sent by the second terminal maybe acquired by a GPS (Global Positioning System) software or plug-inembedded in the second terminal. For example, the longitude and latitudeinformation of the geographical location is in the following form: (*longitude: *° *′*″, *latitude: *° *′*″).

In the second way, the first terminal acquires the metadata informationof its current location and takes the metadata information as that ofthe geographical location. For example, when communicating with the userof the second terminal, the first user may be in a completely new placeand have no idea of the current geographical location. In thissituation, in order to allow the first user to have a generalunderstanding of the current geographical location and the surroundingenvironment, the GPS software or plug-in embedded in the first terminalmay also be used to acquire the metadata information of the currentgeographical location of the first terminal. And in the later process,the first terminal presents its geographical location on itscommunication presenting interface according to the metadata informationacquired.

In accordance with some embodiments, in a step S302, the first terminalcreates a map control loading thread and loads a map control through themap control loading thread. In accordance with some embodiments, in thelater process, the map area including the geographical location will bedetermined by the map control, so that after acquiring the metadatainformation of the geographical location, the first terminal needs alsoto create a map control loading thread first to load the map control soas to acquire a map area corresponding to the metadata information.

In some embodiments, when creating the map control loading thread, athread creation tool may be used by a background system of the firstterminal. When the map control is loaded through the map control loadingthread, it may be loaded from a specific server storing the map control.

In accordance with some embodiments, in a step S303, the first terminalacquires a map corresponding to a preset presentation granularitythrough the map control according to the preset presentationgranularity.

In accordance with some embodiments, the preset presentation granularityrefers to an administrative region presentation level of the map, i.e.,the level of detail of the geographical location presented on the map.The administrative region presentation level may be classified into thefollowing categories: country—only the geographical mark and the name ofthe country are presented on the map; province—as for each country, notonly the geographical mark and name of the country but also that of aprovince of the country are presented on the map; city—not only thegeographical mark but also the name of the country, the province and thecity are presented on the map; district and county—not only thegeographical mark but also the name of the country, the province, thecity and the district and county are presented on the map; street—notonly the geographical mark but also the name of the country, theprovince, the city, the district and county and the street are presentedon the map; and house number—not only the geographical mark but also thename of the country, the province, the city, the district and county andthe street, and the house number are presented on the map.

In accordance with some embodiments, the presentation granularity may beset by the background of the first terminal itself. In some embodiments,the preset presentation granularity may also be set by the secondterminal and carried in the metadata information sent by the secondterminal to the first terminal. After the first terminal receives themetadata information including the preset presentation granularity, ifthe background of the first terminal does not set the presentationgranularity, then the presentation level of administrative region of themap to be loaded will be determined directly according to the presetpresentation granularity included in the metadata information loads. Ifthe background of the first terminal sets also the presentationgranularity, a choice will be made between the two presentationgranularities, or a finer presentation granularity will be selected todetermine the presentation level of administrative region of the map tobe loaded.

In accordance with some embodiments, after receiving the metadatainformation of the geographical location sent by the second terminal,the first terminal prompts options with various presentationgranularities, and the user selects one from the various presentationgranularities. In some embodiments, before sending the metadatainformation of the geographical location to the first terminal, thesecond terminal prompts options with various presentation granularities,and a second user selects one from the various presentationgranularities. For example, a prompt box of setting the presentationgranularity pops up on the display interface of the first terminal orthe second terminal for users to set the presentation granularity. Inaccordance with some embodiments, granularities are chosen by presetcriteria set by the first terminal or the second terminal. For exampleit may be “only select the presentation granularity finer than a presetthreshold.”

In some embodiments, after the map control is created, when loading amap, the map control determines what administrative region presentationlevel of map to load according to the preset presentation granularity.If the preset presentation level is the district and county, the mapcontrol loads a map including the geographical mark and name of thecountry, the province, the city and the district and county.

Further, when determining the presentation level of administrativeregion of the map to be loaded according to the preset presentationgranularity, a preliminary estimate of the administrative regionsincluded in the map to be loaded could also be made according to thelongitude and latitude data of the geographical location, in order toreduce the time for the map loading and the storage space occupied bythe map. For example, if the longitude and latitude data of thegeographical location lies in the longitude and latitude range coveredby the Beijing city, only the map of Beijing city including variousadministrative region presentation levels is loaded when loading the mapaccording to the preset presentation granularity.

In accordance with some embodiments, in a step S304, the first terminaldetermines the display location of the geographical location in theacquired map through the map control according to the longitude andlatitude data.

In order to determine the specific location of the geographical locationin the map, the first terminal, according to the longitude and latitudedata, controls the map control to determine the display location of thegeographical location in the map acquired.

When determining the display location of the geographical location inthe map acquired, the map control may compare the longitude and latitudedata with the longitude and latitude data of each geographical mark. Ifthe longitude and latitude data of a certain geographical mark matcheswith the longitude and latitude data, the location of the geographicalmark will be determined as the display location of the geographicallocation.

In accordance with some embodiments, in a step S305, the first terminaltakes the display location as the center and takes a screenshot of themap according to the size of the preset presentation box to obtain themap area including the geographical location. On one hand, the size ofthe presentation interface of the first terminal is a limitation. On theother hand, as map area too far from the display location of thegeographical location is of little use for the first user.

Moreover, as shown in FIG. 5A, the preset presentation box is includedin a message bubble on the first terminal. In some embodiments, however,the size of the preset presentation box may also be larger or smallerthan a message bubble. Since the message bubbles have multiple sizes,the size of the preset presentation box may be set according to any oneof the plurality of message bubbles when being set. In some embodiments,the sizes of text bubbles are determined by sizes of maps.

As shown in FIG. 5B, in some embodiments, the display location of thegeographical location should be taken as the center to take thescreenshot. In some embodiments, when making a screenshot of thesurrounding area, the display location of the geographical location istaken as the center first, and one-half of the width and one-half of thelength of the preset presentation box are used for determining fourboundary lines. The area surrounded by the four boundary lines is themap area including the geographical location, and the cross-point ofdiagonal lines is the display location of the geographical location.

In accordance with some embodiments, different presentation levels ofpreset presentation granularities lead to different map areas includingthe geographical location. Taking the preset presentation granularity ofthe district category and the street category as an example, as shown inFIG. 5C, if the preset presentation granularity is district category,the lowest-level administrative region of the map area obtained isdistrict, and no streets and house numbers and the like are includedunder the district. As shown in FIG. 5D, if the preset presentationgranularity is street category, the lowest-level administrative regionof the map area obtained is street, i.e., marks of the street andbuildings in the street included in each district are presented.

In accordance with some embodiments, in a step S306, the first terminalpresents the map area including the geographical location. In accordancewith some embodiments, the first terminal presents the map areaincluding the geographical location in the preset presentation box ofthe presentation interface. In some embodiments, the presentationinterface typically refers to the communication presenting interface,i.e., a conversation interface, or a chat window. As shown in FIG. 5E,on the presentation interface (chat window), the preset presentation boxwill be presented on the presentation interface prior to the map area isobtained. There is no content in the preset presentation box, and acircular loading icon may be displayed beside the preset presentationbox to inform the first terminal user that the map area including thegeographical location is being loaded. After the map area including thegeographical location is obtained, it will be covered on the presetpresentation box for display.

In some embodiments, the map area includes the display mark, the addressinformation in text and the geographical marks of surroundings of thegeographical location. The display mark of the geographical location maybe a bubble-like mark used for marking the geographical location. Theaddress information in text form of the geographical location is usedfor marking the detailed address information of the geographicallocation. The geographical marks of surroundings of the geographicallocation are used for marking the buildings, streets and the likesurrounding the geographical location.

It should be noted that, the presentation interface may also be aninterface for presenting personal information. When publishing personalinformation on the personal information display platform, the firstterminal user may also adopt a geographical location presentation methodsimilar to the above-mentioned steps to present its geographicallocation. For example, if the first terminal user publishes a picture onthe personal information display platform, then the map area includingthe geographical location of the first terminal user is presented in theform of a small picture below the picture. Moreover, when leaving amessage or publishing personal information on a network social platformsuch as Weibo, online forum, Facebook, and so on, the first terminaluser may also present its geographical location with the steps describedabove.

FIG. 4 is a flowchart of a method for sharing location information in asocial network application in accordance with some embodiments. In someembodiments, the method is performed at a first user device (e.g.,client device 604, FIGS. 6 and 8-10) of having one or more processorsand memory for storing one or more programs to be executed by the one ormore processors.

In accordance with some embodiments, in a step S401, the first userdevice provides an instant messaging interface of a social networkapplication at the user device, as shown in FIG. 5A.

In accordance with some embodiments, in a step S402, the first userdevice detects, within the instant messaging interface, a trigger inputassociated with location information from a first user of the first userdevice.

In accordance with some embodiments, detecting the trigger inputassociated with location information further comprises: receiving a userinstruction for sending a map interaction request. The user may send amap interaction request by selecting a map interaction affordance, e.g.,as the “start map interaction” button shown in FIG. 5G. The mapinteraction request, once accepted by the second device, will start amap interaction. In a map interaction among multiple devices, change ormarking in the map from one device will automatically show in the map ofall other devices. In a map interaction, users could have a voice callor message conversations. The user may click a button or type in “startmap interaction” or other predetermined text to send a map interactionrequest.

In some embodiments, the trigger input is not an explicit instruction ofstarting a map interaction. Rather, the first user device detects theneed of users from their conversations. In accordance with someembodiments, detecting the trigger input associated with locationinformation further comprises: detecting a chat message input containingone or more keywords associated with location information. For example,the chat message input may include “let's meet at”, “Meet me at” “Whereshould we meet? . . . How about . . . .” The input does not need to be acompleted message. It can be a partially typed message that has not yetbeen sent out by the first user. For example, FIG. 5F shows a partiallywritten message that the first user device detects as a trigger forstarting a map interaction. In some embodiments, the message can be acompleted message that has been sent by the first user. In someembodiments, when these location or position phrase appear, the firstuser device detects them as trigger input and either begin to obtain amap as described in S403 or asks the user whether the first user deviceshould present a map.

In accordance with some embodiments, the chat message input is a voicemessage input. When a user inputs a voice message, the first user deviceconverts the voice message input into text, extracts an address from thetext, marks a location corresponding to the address in the map as thefirst location, and displays the address in a manner to associate theaddress with the first location in the map. For example, the first userdevice displays the text address in a bubble pointing to the firstlocation.

In accordance with some embodiments, detecting the trigger inputassociated with location information further comprises: receiving a userinstruction for sharing a current location of the first user device. Forexample, during a conversation, the user enters a user instruction ofsharing current location. The first user device automatically enters amap interaction mode once detecting the user instruction for sharing thecurrent location. In some embodiments, the first user device presentsoptions to the user on whether the user wants to share the currentlocation in text or in map, e.g., as shown in FIG. 5G. In someembodiments, the first user device obtains the current location of thefirst user device; and marks the current location of the first userdevice in the map as the first location.

In accordance with some embodiments, in a step S403, in response to thetrigger input associated with location information, the first userdevice obtains a map based on the trigger input.

In some embodiments, in response to the detecting the chat message inputassociated with location information, the first user device displays themap within the instant message interface at the first user device, asshown in FIGS. 5H-5L. For example, the first user wants to discuss afirst location with the second user. When the first user types: “how doyou think of the restaurant near F street?” The first user devicedisplays the map in the instant message interface with the F street andmarking all the restaurants. The first user is then able to directlyselect the restaurant, instead of having to find and type in thespecific name and address of the restaurant.

In accordance with some embodiments, the map replaces the normal chatinterface with message bubbles, but the input box can still be shown, asshown in FIG. 5H. The first user device receives a user input selectinga first location on the map displayed in the instant message interfaceand automatically fills in a textual description of the first locationinto the message input box, as shown in FIG. 5I. The textual descriptioncan be an address, a name of the location (e.g., “crown plaza,Starbucks, etc.). For example, after user A selects the restaurant, thefirst user device automatically fills the input box with the name,address, telephone number and website to the input box. In someembodiments, the map is displayed within the corresponding instantmessaging interface at the second user device within a message bubble,as shown in FIG. 5E. In some embodiments, the map is displayed withinthe corresponding instant messaging interface as a background of a chatwindow containing one or more previous chat messages, as shown in FIG.5H. In some embodiments, the map replaces one or more chat messages thatwere previously displayed in the instant messaging interface, as shownin FIG. 5I.

In accordance with some embodiments, the first user device uses chatmessage inputs to determine the granularity level. In some embodiments,the chat message input includes a description of the first location. Forexample, when the description of the first location is on street level,the granularity level of the map is the street level. In accordance withthe description of the first location, the first user device determinesa granularity level of the map and displays the map in accordance withthe determined granularity level. The more detailed is the address, thehigher is the granularity level.

In accordance with some embodiments, when obtaining the map, the firstuser device acquires current locations of the first and/or second userdevices, and marks the current locations of the first and/or second userdevices in the map. FIG. 5J shows a map interaction that has threeparticipants, Users A, B and C. When User A wants to see the location ofUser C, it moves the mouse to the upper right corner to click the button“C”, (which could be C's name). In response to the selection, the userdevice shows the location of C.

In accordance with some embodiments, when obtaining the map, the firstuser device calculates a distance between the current location of thefirst user device and the current location of the second user device,and determining a scale of the map at least partly based on thecalculated distance. For example, the first user device mayautomatically select a scale so that the map contains the both locationsof the first and second user devices. The first user device maydetermine granularity level based on the scale.

In accordance with some embodiments, when obtaining the map, the firstuser device centers the map at least partly based on at least one of thecurrent locations of the first and second user devices. In someembodiments, the first user device centers the map in a way that thelocations of all participants in a map interaction are included in themap.

In accordance with some embodiments, in a step S404, the first userdevice shares the map with a second user device through the socialnetwork application, enabling the second user device to display the mapin a corresponding instant messaging interface of the social networkapplication executed at the second user device.

In accordance with some embodiments, sharing the map with the seconduser device through the social network application further comprises:detecting a send message command from the first user regarding the chatmessage input; and sending the map with a chat message corresponding tothe chat message input to the second user. In some embodiments, the chatmessage is overlaid on the map displayed at the second user device. Insome embodiments, the map replaces the normal chat message interfacewith the list of message bubbles. For example, FIG. 5K shows that twousers are chatting using a map, their messages being overlaid on themap.

In some embodiments, the first user device is configured to receive mapinteraction request from other user devices as well. In someembodiments, the first user device receives a second map from a thirduser device through the social network application, and displays thesecond map within the instant messaging interface of the social networkapplication.

In some embodiments, the first user device receives a map interactionrequest from the third user device; after receiving an acceptance of mapinteraction request from the first user, receives the second map fromthe third user device through the social network application; displaysthe second map within the instant messaging interface of the socialnetwork application; and receives and displays one or more changes tothe map that are made on the third user device by a third user. In someembodiments, the one or more changes include at least one of changes ofa scale of the map, a center of the map, a granularity of the map, amarking on the map, a chat message displayed on the map, and a directionto a destination on a map.

In some embodiments, the first user device receives directions to adestination from the third user device. In some embodiments, thedirection is drawn by a third user of the third user device on thesecond map and displays the directions on the second map. In someembodiments, the direction is generated by the third user device afterreceiving the starting point and destination. In some embodiments, afterreceiving an instruction from the first user, the first user deviceexports the direction from the social network application to a mapapplication having a position capability; and using the map applicationhaving the position capability to provide real-time guidance ondirections in accordance with the directions received from the thirduser device. For example, in some embodiments, even the directionhand-drawn by another user on the screen, the social network applicationor the map application is able to convert the hand-drawn routes intoactual direction by comparing the positions on map and actual geography.When a user receiving the direction from the third user, who may havebetter knowledge of local traffic or roads than a typical GPS, the usercan use it as a real time GPS to travel to a destination.

In accordance with some embodiments, in a step S405, the first userdevice receives a user input of a first location, either from the firstuser or from the second user device.

In accordance with some embodiments, when two or more devices aresharing one map, any markings of locations are displayed in all of thetwo or more devices. In some embodiments, after sharing the map with thesecond user device through the social network application, the firstuser device receives a selection of a first location on the map from thefirst user. The first user device marks the first location on the map,and sends the first location to the second user device, causing thesecond user device to mark the first location on the map displayed atthe second user device.

In some embodiments, the first user device displays the map within theinstant message interface at the first user device. After sharing themap with the second user device through the social network application,the first user device receives a selection of a first location on themap from the second user device. In response to the selection of thefirst location on the map from the second user device, the first userdevice marks the first location on the map displayed at the first userdevice.

In accordance with some embodiments, the first user device displaysmessages in the map when the first and second user devices are sharingthe map. In some embodiments, when the first user device receives a chatmessage from one of the first user and the second user device, the firstuser device detects an indication that the chat message is associatedwith the first location. In response to detecting the indication thatthe chat message is associated with the first location, the first userdevice displays the chat message in the map in a manner to associate thechat message with the first location. For example, as shown in FIG. 5K,when user B said: “Let's get to Hotel X first,” the user device of userB automatically obtains the location of Hotel X and displays the chatmessage in proximity of Hotel B.

In accordance with some embodiments, in a step S406, the first userdevice receiving a user input for exiting the map, and in response tothe user input for exiting the map, removes the map from the instantmessaging interface of the social network application.

In accordance with some embodiments, after removing the map from theinstant messaging interface of the social network application, the firstuser device, in the instant messaging interface, restores one or morechat messages that were previously replaced by the map. For example, thetwo chat messages shown in FIG. 5F are replaced by the map in FIG. 5H,and are restored after the map is exited, as shown in FIG. 5M.

In accordance with some embodiments, before receiving the user input forexiting the map, the first user device receives a selection of a firstlocation in the map from the first user and marks the first location inthe map. After removing the map from the instant messaging interface ofthe social network application, the first user device converts the firstlocation into a text address, and displays the text address as at leastpart of a chat message sent from the first user device to the seconduser device. For example, as shown in FIGS. 5L and 5M, a user selectsBuilding B and sends a message: “Is the party here?” When the map isremoved, the message shows up in the message history and is convertedinto “Is the part at Building B . . . .”

As shown in FIG. 6, location sharing is implemented in a server-clientenvironment 600 in accordance with some embodiments. In someembodiments, server-client environment 600 includes client-sideprocessing 602-1 . . . 102-N (hereinafter “client-side module 602”)executed on a client device 604-1 . . . 104-N, and server-sideprocessing 606 (hereinafter “server-side module 606”) executed on aserver system 608. Client-side module 602 communicates with server-sidemodule 606 through one or more networks 610. Client-side module 602provides client-side functionalities for the social networking platform(e.g., instant messaging, and social networking services) andcommunications with server-side module 606. Server-side module 606provides server-side functionalities for the social networking platform(e.g., instant messaging, and social networking services) for any numberof client modules 602 each residing on a respective client device 604.

In some embodiments, server-side module 606 includes one or moreprocessors 612, one or more databases 614, an I/O interface to one ormore clients 618, and an I/O interface to one or more external services620. I/O interface to one or more clients 618 facilitates the processingof input and output associated with the client devices for server-sidemodule 606. One or more processors 612 obtain instant messages from aplurality of users, process the instant messages, process locationinformation of a client device, and share location information of theclient device to client-side modules 602 of one or more client devices.The database 614 stores various information, including but not limitedto, map information, service categories, service provider names, and thecorresponding locations. The database 614 may also store a plurality ofrecord entries relevant to the users associated with location sharing,and the instant messages exchanged among the users for location sharing.I/O interface to one or more external services 620 facilitatescommunications with one or more external services 622 (e.g., merchantwebsites, credit card companies, and/or other processing services).

Examples of client device 604 include, but are not limited to, ahandheld computer, a wearable computing device, a personal digitalassistant (PDA), a tablet computer, a laptop computer, a desktopcomputer, a cellular telephone, a smart phone, an enhanced generalpacket radio service (EGPRS) mobile phone, a media player, a navigationdevice, a game console, a television, a remote control, or a combinationof any two or more of these data processing devices or other dataprocessing devices.

Examples of one or more networks 610 include local area networks (LAN)and wide area networks (WAN) such as the Internet. One or more networks610 are, optionally, implemented using any known network protocol,including various wired or wireless protocols, such as Ethernet,Universal Serial Bus (USB), FIREWIRE, Global System for MobileCommunications (GSM), Enhanced Data GSM Environment (EDGE), codedivision multiple access (CDMA), time division multiple access (TDMA),Bluetooth, Wi-Fi, voice over Internet Protocol (VoIP), Wi-MAX, or anyother suitable communication protocol.

Server system 608 is implemented on one or more standalone dataprocessing apparatuses or a distributed network of computers. In someembodiments, server system 608 also employs various virtual devicesand/or services of third party service providers (e.g., third-partycloud service providers) to provide the underlying computing resourcesand/or infrastructure resources of server system 608.

Server-client environment 600 shown in FIG. 6 includes both aclient-side portion (e.g., client-side module 602) and a server-sideportion (e.g., server-side module 606). In some embodiments, dataprocessing is implemented as a standalone application installed onclient device 604. In addition, the division of functionalities betweenthe client and server portions of client environment data processing canvary in different embodiments. For example, in some embodiments,client-side module 602 is a thin-client that provides only user-facinginput and output processing functions, and delegates all other dataprocessing functionalities to a backend server (e.g., server system608).

FIG. 7 is a block diagram illustrating a server system 608 in accordancewith some embodiments. Server system 608, typically, includes one ormore processing units (CPUs) 612, one or more network interfaces 704(e.g., including I/O interface to one or more clients 618 and I/Ointerface to one or more external services 620), memory 706, and one ormore communication buses 708 for interconnecting these components(sometimes called a chipset).

Memory 706 includes high-speed random access memory, such as DRAM, SRAM,DDR RAM, or other random access solid state memory devices; and,optionally, includes non-volatile memory, such as one or more magneticdisk storage devices, one or more optical disk storage devices, one ormore flash memory devices, or one or more other non-volatile solid statestorage devices. Memory 706, optionally, includes one or more storagedevices remotely located from one or more processing units 612. Memory706, or alternatively the non-volatile memory within memory 706,includes a non-transitory computer readable storage medium. In someimplementations, memory 706, or the non-transitory computer readablestorage medium of memory 706, stores the following programs, modules,and data structures, or a subset or superset thereof:

-   -   operating system 710 including procedures for handling various        basic system services and for performing hardware dependent        tasks;    -   network communication module 712 for connecting server system        608 to other computing devices (e.g., client devices 604 and        external service(s) 622) connected to one or more networks 610        via one or more network interfaces 704 (wired or wireless);    -   server-side module 606, which provides server-side data        processing for the social networking platform (e.g., location        information processing and sharing, instant messaging, and        social networking services), includes, but is not limited to:        -   messaging module 738 for processing and routing instant            messages exchanged among a first user and one or more second            users of a social networking platform;        -   obtaining module 722 for obtaining location information of            the first user from a client device 604 associated with the            first user;        -   storing module 726 for storing various information in the            database 614, the various information including map            information, service categories, server provider names, user            locations, and entries relevant to the instant messages            exchanged during a chat session;        -   request handling module 730 for handling and responding to            various requests sent from client devices of the social            networking platform;        -   map interaction module 732 for detecting map interaction            trigger input from user messages and receiving and            forwarding map interaction requests;        -   location processing module 734 for processing location            information of the user for sharing, including obtaining            current locations of users and convert user input of            location information into positions on maps; and        -   location sharing module 736 for sharing maps among users and            synchronizing map and location information for users who are            displaying the same maps; and    -   one or more server database 614 storing data for the social        networking platform, including but not limited to:        -   messages 742 storing messages exchanged among a plurality of            users associated with location sharing;        -   user profiles 744 storing user profiles for the plurality of            users associated with location sharing, wherein a respective            user profile for a user may include a user/account name or            handle, login credentials to the social networking platform,            location information of the user (e.g., previous location            information), payment data (e.g., linked credit card            information, app credit or gift card balance, billing            address, shipping address, etc.), custom parameters (e.g.,            age, location, hobbies, etc.) for the user, social network            contacts, groups of contacts to which the user belongs, and            identified trends and/or likes/dislikes of the user;        -   map information 746 storing geographical information of            various locations, including geographical locations, and            various services and business on the maps; and        -   location information 748 storing location information            associated with or inputted by one or more of the plurality            of users.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures, or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various implementations. In some implementations, memory706, optionally, stores a subset of the modules and data structuresidentified above. Furthermore, memory 706, optionally, stores additionalmodules and data structures not described above.

FIG. 8 is a block diagram illustrating a representative client device604 associated with a user in accordance with some embodiments. Clientdevice 604, typically, includes one or more processing units (CPUs) 802,one or more network interfaces 804, memory 806, and one or morecommunication buses 808 for interconnecting these components (sometimescalled a chipset). Client device 604 also includes a user interface 810.User interface 810 includes one or more output devices 812 that enablepresentation of media content, including one or more speakers and/or oneor more visual displays. User interface 810 also includes one or moreinput devices 814, including user interface components that facilitateuser input such as a keyboard, a mouse, a voice-command input unit ormicrophone, a touch screen display, a touch-sensitive input pad, acamera, a gesture capturing camera, or other input buttons or controls.Furthermore, some client devices 604 use a microphone and voicerecognition or a camera and gesture recognition to supplement or replacethe keyboard.

Memory 806 includes high-speed random access memory, such as DRAM, SRAM,DDR RAM, or other random access solid state memory devices; and,optionally, includes non-volatile memory, such as one or more magneticdisk storage devices, one or more optical disk storage devices, one ormore flash memory devices, or one or more other non-volatile solid statestorage devices. Memory 806, optionally, includes one or more storagedevices remotely located from one or more processing units 802. Memory806, or alternatively the non-volatile memory within memory 806,includes a non-transitory computer readable storage medium. In someimplementations, memory 806, or the non-transitory computer readablestorage medium of memory 806, stores the following programs, modules,and data structures, or a subset or superset thereof:

-   -   operating system 816 including procedures for handling various        basic system services and for performing hardware dependent        tasks;    -   network communication module 818 for connecting client device        604 to other computing devices (e.g., server system 608 and        external service(s) 622) connected to one or more networks 610        via one or more network interfaces 804 (wired or wireless);    -   presentation module 820 for enabling presentation of information        (e.g., a user interface for a social networking platform,        widget, webpage, game, and/or application, audio and/or video        content, text, etc.) at client device 604 via one or more output        devices 812 (e.g., displays, speakers, etc.) associated with        user interface 810;    -   input processing module 822 for detecting one or more user        inputs or interactions from one of the one or more input devices        814 and interpreting the detected input or interaction;

one or more applications 826-1-826-N for execution by client device 604(e.g., games, application marketplaces, payment platforms, socialnetwork platforms, and/or other applications); and

-   -   client-side module 602, which provides client-side data        processing and functionalities for location sharing, including        but not limited to:        -   location obtaining module 832 for obtaining current location            of a user or locations input by the user associated with the            client device;        -   map input module 832 for detecting trigger input of map            interactions, displaying maps in the social network            applications, and        -   map sharing module system 832 for sharing maps with other            users and receiving maps shared by other users; and    -   client data 840 storing data of a user associated with the        client device, including, but is not limited to:        -   user profile 842 storing a user profile associated with the            user of client device 604 including a user/account name or            handle, login credentials for location sharing, payment data            (e.g., linked credit card information, app credit or gift            card balance, billing address, shipping address, etc.),            custom parameters (e.g., age, location, hobbies, etc.) for            the user, social network contacts, groups of contacts to            which the user belongs, and identified trends and/or            likes/dislikes of the user;        -   user data 844 storing data authored, saved, liked, or chosen            as favorites by the user of client device 604 in a social            networking platform; and        -   user location 846 storing location information of the user            of the client device, including current location information            and previous location information.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures, modules or datastructures, and thus various subsets of these modules may be combined orotherwise re-arranged in various implementations. In someimplementations, memory 806, optionally, stores a subset of the modulesand data structures identified above. Furthermore, memory 806,optionally, stores additional modules and data structures not describedabove.

In some embodiments, at least some of the functions of server system 608are performed by client device 604, and the corresponding sub-modules ofthese functions may be located within client device 604 rather thanserver system 608. In some embodiments, at least some of the functionsof client device 604 are performed by server system 608, and thecorresponding sub-modules of these functions may be located withinserver system 608 rather than client device 604. Client device 604 andserver system 608 shown in FIGS. 7-10, respectively, are merelyillustrative, and different configurations of the modules forimplementing the functions described herein are possible in variousembodiments.

FIG. 9 is a structural block diagram of an apparatus (e.g., clientdevice 604 as shown in FIG. 6) for presenting a geographical location inaccordance with some embodiments. As shown in FIG. 9, the apparatuscomprises a metadata information acquisition module 901, a map areaacquisition module 902 and a map area presentation module 903.

In accordance with some embodiments, the metadata informationacquisition module 901 is used for acquiring the metadata information ofa geographical location. The map area acquisition module 902 isconnected with the metadata information acquisition module 901, foracquiring the map area including the geographical location. The map areapresentation module 903 is connected with the map area acquisitionmodule 902, for presenting the map area including the geographicallocation.

Alternatively, the map area acquisition module is used for acquiring themap corresponding to the presentation granularity; determining thedisplay location of the geographical location in the acquired mapaccording to the longitude and latitude data; and taking the displayposition as the center and taking a screenshot of the map according tothe size of the preset presentation box to obtain the map area includingthe geographical location.

In some embodiments, the apparatus further comprises:

-   -   a thread creation module for creating the map control loading        thread;    -   a map control loading module for loading the map control through        the map control loading thread; and    -   a map area acquisition module for loading the map through the        map control and acquiring the map area including the        geographical location from the loaded map.

FIG. 10 is a block diagram of a client device (e.g., Client device 604in FIG. 6) in accordance with some embodiments. The terminal is used toimplement the geographical location presentation method provided in theembodiment above-mentioned. The terminal of the embodiment of thepresent application may comprise one or more of the followingcomponents: a processor for executing computer program instructions tocomplete various processes and methods, a random access memory (RAM) anda read-only memory (ROM) for storing information and programinstructions, a memory for storing data and information, an I/O device,an interface, an antenna, etc.

Particularly, the client device 604 may comprise the following parts: anRF (Radio Frequency) circuit 1010, a memory 1020, an input unit 1030, adisplay unit 1040, sensors 1050, an audio circuit 1060, a Wi-Fi(Wireless Fidelity) module 1070, a processor 1080, a power supply 1082,a camera 1090 and the like. Those skilled in the art can understand thatthe terminal is not limited to the structure shown in FIG. 10, and mayinclude more or fewer parts than those shown in FIG. 10, or some partsmay be combined, or different arrangement of parts may be adopted.

Each part of the client device 604 is introduced in detail as follows inconnection with FIG. 10.

The RF circuit 1010 may be used for receiving and sending a signalduring transceiving information or calling, particularly may be used forsending downlink information from a base station to the processor 1080for processing after receiving the downlink information and additionallymay be used for sending uplink data to the base station. Generally, theRF circuit comprises, but not limited to, an antenna, at least oneamplifier, a transceiver, a coupler, an LNA (Low Noise Amplifier), aduplexer and the like. Furthermore, the RF circuit 1010 also may becommunicated with other equipment by wireless communication and thenetwork. Any one of communication standards or protocols can be used forwireless communication, which includes, but not limited to, GSM (GlobalSystem of Mobile Communication), GPRS (General Packet Radio Service),CDMA (Code Division Multiple Access), WCDMA (Wideband Code DivisionMultiple Access), LTE (Long Term Evolution), E-mail, SMS (ShortMessaging Service) and the like.

The memory 1020 may be used for storing software programs and softwaremodules. The processor 1080 executes various functional applications anddata processing of the client device 604 by operating the softwareprograms and the software modules, stored in the memory 1020. The memory1020 may mainly comprise a program storage region and a data storageregion, wherein the program storage region may be used for storingoperating systems, applications required by at least one function (suchas a sound play function, an image play function etc.,) and the like;and the data storage region may be used for storing data (such as audiodata, a telephone book etc.,) and the like which are created accordingto use of the client device 604. Furthermore, the memory 1020 mayinclude a high speed RAM (Random Access Memory) and also may include anon-volatile memory, such as at least one disk storage device, a flashmemory device or other volatile solid storage devices.

The input unit 1030 may be used for receiving input number or characterinformation and generating key signal inputs related to user's settingand functional control of the client device 604. Specifically, the inputunit 1030 may comprise a touch control panel 1031 and other inputequipment 1032. The touch control panel 1031, also called a touchscreen, may be used for detecting touch operations of a user on or nearthe touch control panel 1031 (for example, operations carried out by theuser through using any suitable objects or attachments, such as afinger, a touch pen and the like, on the touch control panel 1031 ornear the touch control panel 1031) and driving corresponding apparatusconnected therewith according to a preset program. Optionally, the touchcontrol panel 1031 may include a touch detection apparatus and a touchcontroller. The touch detection apparatus detects the touch direction ofthe user, detects a signal caused by the touch operation and transmitsthe signal to the touch controller. The touch controller receives touchinformation from the touch detection apparatus, converts the touchinformation into contact coordinates and then sends the contactcoordinates to the processor 1080 and may receive a command sent by theprocessor 1080 and execute the command. Moreover, the touch controlpanel 1031 may be of various types, such as resistance type, capacitancetype, infrared type, surface acoustic wave type and the like. Except thetouch control panel 1031, the input unit 1030 also may include otherinput equipment 1032. Specifically, other input equipment 1032 mayinclude, but not limited to, one or more of physical keyboard, virtual(function) keys (such as a volume control key, a switching key and thelike), trackball, mouse, joystick and the like.

The display unit 1040 may be used for displaying information input bythe user or information provided for the user and various menus of theclient device 604. The display unit 1040 may include a display panel1041. Optionally, the display panel 1041 may be configured in forms ofan LCD (Liquid Crystal Display), an OLED (Organic Light-Emitting Diode)and the like. Furthermore, the touch panel 1031 may cover the displaypanel 1041. When the touch panel 1031 detects a touch operation on ornear it, the signal caused by the touch operation is transmitted to theprocessor 1080 to determine the type of a touch event. Then theprocessor 1080 provides a corresponding visual output on the displaypanel 1041 according to the type of the touch event. In FIG. 10, thetouch panel 1031 and the display panel 1041 are used as two independentparts for accomplishing input and output functions of the client device604, however, in certain embodiments, the touch panel 1031 and thedisplay panel 1041 may be integrated to accomplish the input and outputfunctions of the client device 604.

The client device 604 also may include at least one sensor 1050, such asgyroscope sensors, magnetic induction sensors, optical sensors, motionsensors and other sensors. Specifically, optical sensors may include anenvironmental light sensor and a proximity sensor, wherein theenvironmental light sensor may regulate brightness of the display panel1041 according to the lightness of environmental light. The proximitysensor may shut down the display panel 1041 and/or backlight when theclient device 604 approaches an ear. As one of the motion sensors, anaccelerometer sensor may detect the value of an acceleration in eachdirection (generally, in three axial directions), may detect the valueand the direction of gravity in a static state, which may be used inposture identifying functions (such as switching between a horizontalscreen and a vertical screen, switching related to a game, andcalibration on the posture of a magnetometer), vibration identifyingfunctions (such as for pedometer and striking) and the like.Furthermore, a gyroscope, a barometer, a humidity meter, a thermometer,an infrared sensor and other sensors, may be integrated into the clientdevice 604, to which explanation are not repeated herein.

The audio circuit 1060, a speaker 1061 and a microphone 1062 may providean audio interface between the user and client device 604. The audiocircuit 1060 may transmit an electric signal obtained by convertingreceived audio data to the speaker 1061. The electric signal isconverted into a sound signal to be output by the speaker 1061. On theother hand, the microphone 1062 converts a collected sound signal intoan electric signal. The audio circuit 1060 receives the electric signaland converts the electric signal into audio data. After the audio datais output to the processor 1080 and is processed, it is sent, forexample, to another terminal through the RF circuit 1010, or is outputto the memory 1020 in order to be further processed.

Wi-Fi belongs to the technology of short distance wireless transmission.The client device 604 can help the user to receive and send emails,browse webpages, access streaming media and the like by the Wi-Fi module1070. The Wi-Fi module 1070 provides wireless broadband internet accessfor the user. Although the Wi-Fi module 1070 is shown in FIG. 10, itshould be understood that the Wi-Fi module 1070 is not the necessarycomposition of the client device 604 and may completely be omitted asrequired without changing the scope of the application.

The processor 1080 is a control center of the client device 604, isconnected with all the parts of the whole terminal by various interfacesand lines and is used for executing various functions of the clientdevice 604 and processing the data by operating the software programsand/or the modules stored in the memory 1020, and calling the datastored in the memory 1020 so as to carry out integral monitoring on theterminal. Optionally, the processor 1080 may include one or moreprocessing units. Preferably, the processor 1080 may be integrated withan application processor and a modulation-demodulation processor,wherein the application processor is mainly used for an operatingsystem, a user interface, applications and the like, and themodulation-demodulation processor is mainly used for wirelesscommunication. It should be understood that the modulation-demodulationprocessor may also be not integrated into the processor 1080.

The client device 604 further includes the power supply 1082 (such as abattery) for supplying power to each part. Preferably, the power supplymay be logically connected with the processor 1080 by a power supplymanagement system so as to implement functions of charge management,discharge management, power consumption management and the like by thepower supply management system.

The camera 1090 generally comprises a lens, an image sensor, aninterface, a digital signal processor, a CPU, a display screen, etc.Wherein the lens is fixed above the image sensor and may be manuallyregulated to vary the focusing; the image sensor equals to the “film” ofa conventional camera and is the “heart” of the camera for collectingimages; the interface is used for connecting the camera with amotherboard of the terminal through flex cable, a board-to-boardconnector or spring connection, and sends the collected images to thememory 1020; and the digital signal processor converts the analog imagecollected into digital images through arithmetical operation and sendsthem to the memory 1020 through the interface.

Though not shown, the client device 604 may further include a Bluetoothmodule and the like, and descriptions of them are not repeated herein.

Although some of the various drawings illustrate a number of logicalstages in a particular order, stages that are not order dependent may bereordered and other stages may be combined or broken out. While somereordering or other groupings are specifically mentioned, others will beobvious to those of ordinary skill in the art and so do not present anexhaustive list of alternatives. Moreover, it should be recognized thatthe stages could be implemented in hardware, firmware, software or anycombination thereof.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific implementations. However, theillustrative discussions above are not intended to be exhaustive or tolimit the technology to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theimplementations were chosen and described in order to best explainprinciples of the technology and its practical applications, to therebyenable others skilled in the art to best utilize the technology andvarious implementations with various modifications as are suited to theparticular use contemplated. Implementations include alternatives,modifications and equivalents that are within the spirit and scope ofthe appended claims. Numerous specific details are set forth in order toprovide a thorough understanding of the subject matter presented herein.But it will be apparent to one of ordinary skill in the art that thesubject matter may be practiced without these specific details. In otherinstances, well-known methods, procedures, components, and circuits havenot been described in detail so as not to unnecessarily obscure aspectsof the implementations.

What is claimed is:
 1. A method of sharing location information in asocial network application, comprising: at a first user device havingone or more processors and memory for storing one or more programs to beexecuted by the one or more processors: providing an instant messaginginterface of the social network application at the first user device;detecting, within the instant messaging interface, a trigger input froma first user of the first user device, the trigger input is associatedwith location information of the first user device; in response to thetrigger input associated with location information, obtaining a map of alocation of the first user device based on the trigger input; andsharing the map of the location of the first user device with a seconduser device through the social network application, enabling the seconduser device to display the map of the location of the first user devicein a corresponding instant messaging interface of the social networkapplication executed at the second user device.
 2. The method of claim1, wherein detecting the trigger input associated with locationinformation further comprises: detecting a chat message input containingone or more keywords associated with location information.
 3. The methodof claim 2, wherein the chat message input is detected in a messageinput box on the instant message interface, and the method furthercomprises: in response to detecting the chat message input associatedwith location information, displaying the map of the location of thefirst user device within the instant message interface at the first userdevice.
 4. The method of claim 2, wherein the chat message input is avoice message input, and the method further comprises: converting thevoice message input into text; extract an address from the text; markinga location corresponding to the address in the map of the location ofthe first user device as a first location; and displaying the address ina manner to associate the address with the first location in the map ofthe location of the first user device.
 5. The method of claim 1, furthercomprising: receiving a chat message from one of the first user and thesecond user device; detecting an indication that the chat message isassociated with a first location; and in response to detecting theindication that the chat message is associated with the first location,displaying the chat message in the map of the location of the first userdevice in a manner to associate the chat message with the firstlocation.
 6. The method of claim 1, further comprising: after sharingthe map of the location of the first user device with the second userdevice through the social network application, receiving a selection ofa first location on the map of the location of the first user devicefrom the first user; marking the first location on the map of thelocation of the first user device; and sending the first location to thesecond user device, causing the second user device to mark the firstlocation on the map of the location of the first user device displayedat the second user device.
 7. The method of claim 1, further comprising:displaying the map of the location of the first user device within theinstant message interface at the first user device; after sharing themap of the location of the first user device with the second user devicethrough the social network application, receiving a selection of a firstlocation on the map of the location of the first user device from thesecond user device; and in response to the selection of the firstlocation on the map of the location of the first user device from thesecond user device, marking the first location on the map of thelocation of the first user device displayed at the first user device. 8.A device of sharing location information in a social networkapplication, comprising: one or more processors; and memory storing oneor more programs for execution by the one or more processors, the one ormore programs including instructions for: providing an instant messaginginterface of a social network application at a first user device;detecting, within the instant messaging interface, a trigger input froma first user of the first user device, the trigger input is associatedwith location information of the first user device; in response to thetrigger input associated with location information, obtaining a map of alocation of the first user device based on the trigger input; andsharing the map of the location of the first user device with a seconduser device through the social network application, enabling the seconduser device to display the map of the location of the first user devicein a corresponding instant messaging interface of the social networkapplication executed at the second user device.
 9. The device of claim8, wherein detecting the trigger input associated with locationinformation further comprises: detecting a chat message input containingone or more keywords associated with location information.
 10. Thedevice of claim 9, wherein the chat message input is detected in amessage input box on the instant message interface, and the methodfurther comprises: in response to detecting the chat message inputassociated with location information, displaying the map of the locationof the first user device within the instant message interface at thefirst user device.
 11. The device of claim 9, wherein the chat messageinput is a voice message input, and the method further comprises:converting the voice message input into text; extract an address fromthe text; marking a location corresponding to the address in the map ofthe location of the first user device as a first location; anddisplaying the address in a manner to associate the address with thefirst location in the map of the location of the first user device. 12.The device of claim 8, wherein the operations further comprise:receiving a chat message from one of the first user and the second userdevice; detecting an indication that the chat message is associated withthe first location; and in response to detecting the indication that thechat message is associated with the first location, displaying the chatmessage in the map of the location of the first user device in a mannerto associate the chat message with the first location.
 13. The device ofclaim 8, wherein the operations further comprise: after sharing the mapof the location of the first user device with the second user devicethrough the social network application, receiving a selection of a firstlocation on the map of the location of the first user device from thefirst user; marking the first location on the map of the location of thefirst user device; and sending the first location to the second userdevice, causing the second user device to mark the first location on themap of the location of the first user device displayed at the seconduser device.
 14. The device of claim 8, wherein the operations furthercomprise: displaying the map of the location of the first user devicewithin the instant message interface at the first user device; aftersharing the map of the location of the first user device with the seconduser device through the social network application, receiving aselection of a first location on the map of the location of the firstuser device from the second user device; and in response to theselection of the first location on the map of the location of the firstuser device from the second user device, marking the first location onthe map displayed at the first user device.
 15. A non-transitorycomputer readable storage medium having instructions stored thereon, theinstructions, when executed by one or more processors, cause theprocessors to perform operations comprising: providing an instantmessaging interface of a social network application at a first userdevice; detecting, within the instant messaging interface, a triggerinput from a first user of the first user device, the trigger input isassociated with location information of the first user device; inresponse to the trigger input associated with location information,obtaining a map of a location of the first user device based on thetrigger input; and sharing the map of the location of the first userdevice with a second user device through the social network application,enabling the second user device to display the map of the location ofthe first user device in a corresponding instant messaging interface ofthe social network application executed at the second user device. 16.The non-transitory computer readable storage medium of claim 15, whereindetecting the trigger input associated with location information furthercomprises: detecting a chat message input containing one or morekeywords associated with location information.
 17. The non-transitorycomputer readable storage medium of claim 16, wherein the chat messageinput is detected in a message input box on the instant messageinterface, and the operations further comprises: in response todetecting the chat message input associated with location information,displaying the map of the location of the first user device within theinstant message interface at the first user device.
 18. Thenon-transitory computer readable storage medium of claim 16, wherein thechat message input is a voice message input, and the method furthercomprises: converting the voice message input into text; extract anaddress from the text; marking a location corresponding to the addressin the map of the location of the first user device as a first location;and displaying the address in a manner to associate the address with thefirst location in the map.
 19. The non-transitory computer readablestorage medium of claim 15, wherein the operations further comprise:receiving a chat message from one of the first user and the second userdevice; detecting an indication that the chat message is associated witha first location; and in response to detecting the indication that thechat message is associated with the first location, displaying the chatmessage in the map of the location of the first user device in a mannerto associate the chat message with the first location.
 20. Thenon-transitory computer readable storage medium of claim 15, wherein theoperations further comprise: after sharing the map of the location ofthe first user device with the second user device through the socialnetwork application, receiving a selection of a first location on themap of the location of the first user device from the first user;marking the first location on the map of the location of the first userdevice; and sending the first location to the second user device,causing the second user device to mark the first location on the map ofthe location of the first user device displayed at the second userdevice.